#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define F first
#define S second
#define infile freopen("file.in" , "r", stdin) ;
#define G vector<vector<int>>
#define speed ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int dir [5] = { -1, 0, 1, 0 ,-1 };
ll nCr( int n , int r )
{
ll ans =1;
r = min(r, n-r );
for(int i = 0 ;i< r ;++i )
ans *= (n-i) , ans /= (i+1) ;
return ans ;
}
int main()
{
speed
int t = 1;
// cin >> t ;
while(t--)
{
ll n , k ;
cin >>n >> k;
if ( k == 1 )
return cout <<"YES\n" << n ,0;
vector<int>v(k);
iota(v.begin(),v.end(),1);
n -= k*(k+1)/2 ;
if ( n < 0 ) cout <<"NO" ;
else
{
for ( int i =0 ; i < k - n%k ; ++i )
v[i] += n/k;
for(int i = k-1 ; i >= k-n%k ;--i )
v[i] += (n+k-1)/k;
if ( n == k-1 )
{
if ( k <= 3 ) return cout <<"NO",0;
--v[1] ;
++v[k-1];
}
cout <<"YES\n";
for(auto it : v) cout << it <<" ";
}
}
return 0;
}
1302. Deepest Leaves Sum | 1209. Remove All Adjacent Duplicates in String II |
994. Rotting Oranges | 983. Minimum Cost For Tickets |
973. K Closest Points to Origin | 969. Pancake Sorting |
967. Numbers With Same Consecutive Differences | 957. Prison Cells After N Days |
946. Validate Stack Sequences | 921. Minimum Add to Make Parentheses Valid |
881. Boats to Save People | 497. Random Point in Non-overlapping Rectangles |
528. Random Pick with Weight | 470. Implement Rand10() Using Rand7() |
866. Prime Palindrome | 1516A - Tit for Tat |
622. Design Circular Queue | 814. Binary Tree Pruning |
791. Custom Sort String | 787. Cheapest Flights Within K Stops |
779. K-th Symbol in Grammar | 701. Insert into a Binary Search Tree |
429. N-ary Tree Level Order Traversal | 739. Daily Temperatures |
647. Palindromic Substrings | 583. Delete Operation for Two Strings |
518. Coin Change 2 | 516. Longest Palindromic Subsequence |
468. Validate IP Address | 450. Delete Node in a BST |